Methods and systems for sensing equilibrium

ABSTRACT

Systems and methods for monitoring equilibrium of a user are presented. A stability monitoring device in a shoe insole area utilizes pressure sensors to measure pressure information in real-time. The pressure information is transmitted over an RF network to a device for analyzing the pressure information and calculating postural state information including the current postural state, next postural state, and/or a range of postural stability. The person or a third party may be notified if the postural state information indicates an unstable state. Additionally, the postural state information may be analyzed to determine activity level of the user, diagnostic information, or performance information. Metrics may be displayed by the system for assisting physical therapy or training regimens.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is related to U.S. Provisional Application No. 60/990,817 (Attorney Docket No. MIT-007PR), filed Nov. 28, 2007, hereby expressly incorporated by reference in its entirety for all purposes.

FIELD OF THE INVENTION

The present invention relates, in general, to sensing equilibrium in a person, and more particularly, to using sensors in footwear to sense and display equilibrium information.

BACKGROUND OF THE INVENTION

While some people have excellent posture, many people have poor posture. Poor posture can lead to postural instability as a person ages and/or when the person is injured. Other causes for postural instability include the return of a person from a zero gravity environment, a lack of exercise, and/or an injury. While a person's postural stability may be measured in a lab environment currently, the high cost, limited availability, and inability to gather data throughout daily activities limits access to such devices for posture measurement for a majority of the population. As such, analysis for many segments of the population that would otherwise benefit from detection and correction of postural stability is not obtained. Hence, there is a need for improved methods and systems in the art.

BRIEF SUMMARY OF THE INVENTION

Embodiments of the present invention provide devices, systems, and methods for determining equilibrium in a user. Some embodiments of the present invention comprise a device including input sensors and a communications module. In one embodiment the input sensors and the communications module are housed in a shoe insole. In an alternate embodiment, the input sensors and the communications module are housed in an article of footwear such that the input sensors are in the insole portion of the article of footwear. Embodiments of the communications module may be configured to read the input sensors and transmit the sensor information to an external device over a communications link such as, for example, a Bluetooth wireless network.

Some embodiments of the present invention describe systems comprising an article of footwear including pressure sensors, a first communications module coupled with the pressure sensors, a second communications module coupled with the first communications module, a stability processing module, a postural analysis module, and a display device. The first communications module reads the pressure sensors and transmits the pressure information to the second communications module. The second communications module receives the pressure information and relays the information to the stability processing module. The stability processing module determines postural stability metrics and may display the postural stability metrics on the display device.

In one embodiment, a method for determining equilibrium in a user may include using pressure sensors to sense pressure at different locations under a persons feet. The method may further include transmitting the pressure information and receiving the pressure information. The method may then include calculating the current postural state, the next postural state, and/or a range of postural stability. Further, the method may include notifying the person or a third party monitoring person if the next postural state meets a predetermined condition.

In an alternate embodiment a method for determining equilibrium in a user may include the steps of receiving pressure information from one or more pressure sensors and calculating a range of postural stability from the pressure information. The method may further include receiving additional pressure information from the pressure sensors and calculating the next postural state of a person using the pressure information and the range of postural stability. Further, the method may include notifying the person and/or a third party monitoring person if the next postural state meets a predetermined condition.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a block diagram illustrating a system for measuring postural stability using a pressure sensing device, according to one embodiment of the present invention.

FIG. 2 is a block diagram illustrating a pressure sensing device in a shoe insole, according to one embodiment of the present invention.

FIG. 3 is a block diagram illustrating components of a communications module used in a pressure sensing apparatus, according to one embodiment of the present invention.

FIG. 4A is a block diagram illustrating example equilibrium safe zones of postural stability, according to one embodiment of the present invention.

FIG. 4B is a block diagram illustrating an example punctuated equilibrium, according to one embodiment of the present invention.

FIG. 5 is a block diagram illustrating a state diagram for calculating the next postural state from one or more past postural states, according to one embodiment of the present invention.

FIG. 6 is a block diagram illustrating a system for measuring postural stability using a pressure sensing shoe insole, according to one embodiment of the present invention.

FIG. 7 is a block diagram illustrating a system for measuring postural stability using a pressure sensing shoe insole, according to one embodiment of the present invention.

FIG. 8 is a block diagram illustrating a system for measuring postural stability using a pressure sensing scale or mat, according to one embodiment of the present invention.

FIG. 9 is a block diagram illustrating a pressure sensing device contained in a shoe, according to one embodiment of the present invention.

FIG. 10 is a block diagram illustrating a pressure sensing device contained in a horseshoe, according to one embodiment of the present invention.

FIG. 11 is a block diagram illustrating a shoe insole apparatus for measuring postural stability, according to one embodiment of the present invention.

FIG. 12 is a block diagram illustrating methods for measuring equilibrium in a user and notifying the user of unstable posture, according to one embodiment of the present invention.

FIG. 13 is a block diagram illustrating methods for determining the next postural state of a person based on pressure information, according to one embodiment of the present invention.

FIG. 14 is a block diagram illustrating components of a computing device used in a system for measuring postural stability, according to one embodiment of the present invention.

In the appended figures, similar components and/or features may have the same reference label. Further, various components of the same type may be distinguished by following the reference label by a letter designation that distinguishes among the similar components. If only the first reference label is used in the specification, the description is applicable to any one of the similar components having the same first reference label.

DETAILED DESCRIPTION OF THE INVENTION

In general, aspects of the present invention relate to methods and systems for monitoring a person's postural state (e.g., standing, falling, etc.). The postural state information can be used to notify the person and/or a third party monitoring person if the person's postural state indicates a stable state, an unstable state, compromised state (e.g., drunkenness, hypoxia, sprained appendage, broken appendage, etc.) and/or a partially stable state. Additionally the postural state information can be used to calculate metrics regarding postural stability and display the metrics to the person and/or a third party.

Specific details are given in the description to provide a thorough understanding of various embodiments of the present invention. It will be apparent, however, to one skilled in the art that embodiments of the present invention may be practiced without some of these specific details. In other instances, well-known structures and devices will be shown without unnecessary detail in order to avoid obscuring the embodiments.

The ensuing description provides exemplary embodiments only and is not intended to limit the scope, applicability, or configuration of the disclosure. Rather, the ensuing description of the exemplary embodiments will provide those skilled in the art with an enabling description for implementing an exemplary embodiment. It should be understood that various changes may be made in the function and arrangement of elements without departing from the spirit and scope of the invention as set forth in the appended claims.

Furthermore, circuits, systems, networks, processes, and other components may be shown as components in block diagram form in order not to obscure the embodiments in unnecessary detail. In other instances, well-known circuits, processes, algorithms, structures, and techniques may be shown without unnecessary detail in order to avoid obscuring the embodiments.

Also, it is noted that individual embodiments may be described as a process which is depicted as a flowchart, a flow diagram, a data flow diagram, a structure diagram, or a block diagram. Although a flowchart may describe the operations as a sequential process, many of the operations can be performed in parallel or concurrently. In addition, the order of the operations may be re-arranged. A process is terminated when its operations are completed, but could have additional steps not included in a figure. A process may correspond to a method, a function, a procedure, a subroutine, a subprogram, etc. When a process corresponds to a function, its termination can correspond to a return of the function to the calling function or the main function.

According to one embodiment of the present invention, FIG. 1 is exemplary of a system 100 for monitoring a person's postural stability. In the exemplary embodiment, the system comprises pressure sensing devices 120 a and 120 b (generally 120) worn by a person 110, and a computing device 140. Pressure sensing devices 120 measure and transmit pressure information over a communications link 130 to computing device 140. In one embodiment pressure sensing devices 120 are piezoelectric force sensors. In some embodiments, computing device 140 is a special purpose device designed to be used in stability monitoring system 100. In alternate embodiments computing device 140 is a general purpose device such as a personal computer, laptop, PDA or smart phone. Merely by way of example, communications link 130 is shown as a radio frequency (RF) link, but it will be appreciated that communications link may comprise any type of wired or wireless link known in the art.

FIG. 2 illustrates one embodiment of pressure sensing devices 120. In the exemplary embodiment, pressure sensing devices 120 comprise shoe insoles 210 a and 210 b (generally 210) which include input sensors 220 a and 220 b (generally 220) and communication modules 240 a and 240 b (generally 240). In an alternative embodiment, instead of shoe insoles a scale (e.g., a medical scale), a mat, a ski boot, a ski, or any other footwear may be used to house sensors 220 a and 220 b as well as communications modules 240 a and 240 b. The input sensors 220 measure sensor information (e.g. pressure information, etc.). The sensor information is transmitted from the input sensors 220 to the communications modules 240. For example the input sensors 220 may be pressure sensors, and transmission from the input sensors 220 to the communications module 240 can be via wires (not shown) embedded in the insole 210. Merely by way of example, the input sensors may be FlexiForce® Piezoresistive Load/Force Sensors made by Tekscan, Inc., global positioning sensors (GPS), accelerometers, gyrometers, etc.

In one embodiment, a mat and/or medical scale may house sensors 220 a and 220 b as well as communications modules 240 a and 240 b in order to capture and transmit pressure data and, therefore, gather equilibrium data about a person, according to aspects of the present invention. For example, a patient with balance, coordination, and other equilibrium problems may be placed on the medical scale or mat, and a medical professional may monitor the patient's equilibrium. The medical professional would receive detailed real-time information about the patient's balance, coordination, and equilibrium, and accordingly make a medical diagnosis. Furthermore, the medical professional can take corrective action based on the gathered data to fix problems with the patient's balance, coordination, and/or equilibrium. Furthermore, each of the embodiments of the present invention described herein can be implemented using such a mat or scale described above as opposed to using footwear, or the like.

The shoe insoles 210 may be manufactured from suitable insole materials including, without limitation, foam, rubber, plastic, cork, and/or other materials suitable for shoe insole construction. It will be appreciated that the material selection may be determined from factors, including without limitation, durability, flexibility, and/or protection of internal components.

The communications modules 240 may read the input sensors 220, generate sensor information, and transmit the sensor information to the computing device 140. The communications modules 240 may optionally buffer the sensor information before transmitting it to the external device. The communications modules 240 may transmit the data to computing device 140 using communications link 130. The communications link may be a Radio Frequency link (RF), an infrared link, a Wi-Fi link, a USB link, a Firewire link, or any other wired or wireless link known in the art. Additionally, the communications modules may optionally perform other processing steps on the sensor information before transmitting the sensor information to the computing device 140 (e.g. linearity correction, data transform, etc.).

While the exemplary shoe insoles shown in FIG. 2 have two input sensors 220 per insole 210, one in the forefoot and one in the heel, it may be desirable to have any number of input sensors in each insole, placement of input sensors in a variety of locations, and possibly different numbers of input sensors in each insole. It may be appreciated that the number of input sensors 220 used in the pressure sensing device 120 may determine the dimensionality of information from the input sensors 220. For example, one pressure sensor in each insole would provide one dimension of pressure information indicating center of mass in the left to right direction, while two pressure sensors per insole, one in the heel and one in the forefoot would provide two dimensions of pressure information indicating the center of mass relative to both the left to right and anterior to posterior directions. It will be appreciated by one skilled in the art that sensor number and position may be adapted for various applications that require different dimensionality of postural stability information.

FIG. 3 shows a simplified block diagram of one embodiment of communications module 240. As illustrated, communications module 240 may contain one or more sensor biasing circuits 305, one or more sensor measuring circuits 310, processing circuit 315, and communications circuit 320. The communications module 240 also may optionally include program memory 325 and/or buffer memory 330. Sensor biasing circuit 305 may contain amplifiers and/or other active or passive components required to provide excitation, linearity compensation, and/or gain of the input sensors 220 for the required sensitivity. Communications module 240 may have one sensor biasing circuit for each input sensor 220. It will be appreciated that communications module 240 may comprise one or more integrated circuits (e.g. microcontroller, etc.), and/or discrete components on a printed circuit board, a flexible printed circuit board, or other electronic packaging technology. A power source such as a battery may be attached by any suitable arrangement for providing power to the circuits of the communications module 240. In addition, energy harvesting may be used as an alternative energy source.

In the exemplary embodiment described above, sensor measuring circuit 310 samples the output of the input sensors 220 driven by sensor biasing circuits 305 and produces digital data values. Sensor measuring circuit 310 may have an internal timing circuit to determine the sampling frequency, or alternately the sampling frequency may be determined by processing device 315. Processing circuit 315 receives the digital data values from the sensor measuring circuit 310, can write and read pressure data values from buffer memory 330, and transfer pressure data values to communications circuit 320. Processing circuit 315 may write the pressure data values to buffer memory 330 for a predetermined period of time, or until buffer memory 330 has received a certain quantity of pressure data values, at which time processing circuit 315 may read a quantity of pressure data values from buffer memory 330 and transfer the quantity of pressure data values to communications circuit 320. Communications circuit 320 may receive the pressure data values from processing device 315 and transmit the pressure data values over communications link 130 to computing device 140. For example, buffer memory 330 may be a 256 MB memory, and processing circuit 315 may write the pressure data values to buffer memory 330 until buffer memory 330 is at full capacity or close to full capacity (e.g. 90% capacity, 95% capacity, etc.), at which time processing circuit 315 reads the pressure data values previously written to buffer memory 330 and transfers the pressure data values to communications circuit 320 to be transmitted over communications link 130 to computing device 140. It will be appreciated that design considerations such as buffer memory size, power consumption, system cost, and/or communications link parameters may be considered in determining the quantity of pressure data values stored and/or the period of time that data values are stored in buffer memory 330 before the transmission of a quantity of data values by communications circuit 320.

Sensor measuring circuit 310 may contain analog to digital converters (ADCs), timers, and other discrete or integrated components used to convert the analog output of the input sensors 220 to digital data values. Processing circuit 315 can comprise any general purpose processor, a microprocessor, and/or other suitably configured discrete or integrated circuit elements. Program memory 325 may be any type of non-volatile storage medium including solid-state devices such as EPROM, EEPROM, FLASH, MRAM, or similar components for data storage. Buffer memory 330 may be any type of volatile or non-volatile storage element including solid-state devices such as DRAM, SRAM, FLASH, MRAM, or similar components for data storage. Communications circuit 320 may transmit and receive data over any type of communications link, for example, communications circuit 320 may comprise a wireless transceiver utilizing an RF network such as a Bluetooth network. Communications circuit 320 may include authentication capability to limit transfer of pressure information from insoles of one person to only authorized devices. Additionally communications circuit 320 may encrypt data before transmission in order to prevent unauthorized access of the information.

In an illustrative embodiment of stability measurement device 120, the input sensors 220 are piezoresistive force sensors connected by wires in insole 210 to the communications module 240. The communications module 240 may contain sensor biasing circuits 305 which provide excitation voltage and amplification to the piezoresistive force sensors 220, resulting in a force to voltage conversion. Sensor measuring circuits 310 may sample the analog sensor output at a sampling rate of 100 Hz and produce digital pressure information. The digital pressure information may be stored in a non-volatile buffer memory 330 and periodically read by processing circuit 315 and transmitted by communications circuit 320 to computing device 140 over a Bluetooth network 130. In alternate embodiments, other types of input sensors 220 may be used, different sample rates may be used, another type of communications link 130 may be used, other types of buffer memory 330 may be used, etc. as may be desirable in a particular embodiment.

Computing device 140 contains instructions on a machine readable medium to receive the pressure information from the pressure sensing device 120 and determine postural state information. In some examples, computing device 140 determines the current postural state by calculating the center of force of the person. Additionally computing device 140 may calculate the next postural state. Computing device 140 may utilize a Hidden Markov Model (HMM) calculation to determine the current and/or next postural state. The HMM calculation utilizes a set of probabilities for each postural state to determine the next postural state. If the next postural state is stable, then computing device 140 continues to monitor the person. If the next postural state is unstable, then computing device 140 may notify and/or alert the person and/or a third party of such instability.

In some examples, the determination of the next, current, and/or past postural states utilizes a posterior decoding algorithm, a Bayesian segmentation, a graphical model, a choice-point method, and/or any other type of algorithm that classifies time periods into static and/or dynamic periods. A dynamic Bayesian network can be, for example, utilized to determine the next and/or past postural states based on the current postural state.

In other examples, the determination of the next, current, and/or past postural states utilizes a forward algorithm, a Viterbi algorithm, a forwards-backwards algorithm, Baum-Welch algorithm, and/or any other type of algorithm that classifies time periods into static and/or dynamic periods. The forwards-backwards algorithm or Viterbi algorithm can be, for example, utilized to determine the probability of the next state (e.g., dynamic, equilibrium). The Baum-Welch algorithm can be, for example, utilized to determine the range of postural stability and/or the probabilities of transitioning between states. In some examples, the HMM calculation determines the next state, the current state, and/or one or more past states (e.g., five, ten). The HMM calculation can be, for example, utilized to determine the probabilities of the sequence of the past states, the current state, and/or the next state. The sequence of the past states can be, for example, utilized to calculate the probability of the next state.

The computing device 140 may perform postural analysis using the postural state information to monitor, track, and/or notify the person regarding their postural states. The postural analysis can, for example, comprise storing the postural state information for historical analysis by the person being monitored and/or a third party monitoring person (e.g. doctor, physical therapist, personal trainer, etc.). In some examples the postural analysis can comprise determining metrics including activity information (e.g. walking, running, sitting, equilibrium and dynamic states (which highlight the punctuated nature of, for example, standing), etc.), performance information (e.g., time spent walking, time spent running, etc.), and/or fatigue information (e.g. time spent close to outer range of postural stability, time spent close to center of postural stability, etc.). In other examples the postural analysis can comprise generating diagnostic information (e.g., limp, lameness, neural condition, muscular condition, vision-related condition, etc.), a statistic (e.g. percentage of time running, percentage of time sitting, etc.), a score (e.g. number of falls per day, average number of falls per month, etc.), a simulation (e.g. with increased physical therapy will the number of falls decrease, with increased training can the athlete distribute his/her mass better, etc.), and/or any other type of metric based on the stored postural state information. The computing device 140 can display the metric information, the statistic, the score, and/or the simulation for use by the person being monitored and/or the third party utilizing the display device. The computing device can alternately store the metric information, the statistic, the score, and/or the simulation for further analysis.

In some examples, computing device 140 determines the range of postural stability for a person utilizing pressure sensing device 120. The range of postural stability can be, for example, unique for the person since the range of postural stability can be affected by age, activity level, postural stance, weight, medical history, and/or any other factor that can affect a person's posture. In other examples, the range of postural stability is determined based on sensor information which is stored by the computing device 140. The range of postural stability can be determined, for example, by processing the stable postural states to determine the range of stable postural states. The determination of the range of the postural stability can occur, for example, in real-time while the user is wearing the pressure sensing device 120. In some examples, the range of postural stability is based on a person's center of gravity. A person's center of gravity can vary, for example, in a range because a human can be modeled as an inverted pendulum in which an upright stance is an unstable equilibrium. Since small natural center of mass deviations (e.g., breathing, limb movements, head movement) can disrupt the equilibrium, then the pendulum (i.e., the person) can tip over without appropriate sensory-motor control. Generally, standing posture utilizes subconscious sensory feedback mechanisms (e.g., vision, tactile sensations, vestibular organs) to maintain upright stance (i.e., a stable postural state). An advantage of determining the postural stability of a person is that the person can have a real-time readout of their capacity to balance at any given point in time. Alternatively, the device may be used to determine postural stability and balance in robots, animals (e.g., horses, donkeys), etc.

Although FIG. 1 illustrates the computing device 140 associated with the person 110 that is associated with the sensor information, the computing device 140 can be utilized by a third party (e.g. doctor, physical therapist, personal trainer, etc.) to track the postural states of the person (e.g., a patient, an athlete, etc.). In one embodiment, the computing device 140 may be used by the third parties to track the progress of a patient as the patient relearns and/or refines skills such as standing, walking, and/or running.

In some examples, the range of postural stability is pre-determined for the person based on preset parameters. For example, there can be preset parameters based on a person's age, weight, height, activity level, and/or any other type of parameter associated with posture. In some examples, the range of postural stability is a global optimum. The global optimum indicates, for example, that there is a single optimal point for upright posture. If a person is not at the optimum, then the person's body always directs the person towards the optimum.

In other examples, the range of postural stability is a safe zone. FIG. 4A illustrates an example safe zone 405 with center of force from left-foot to right-foot plotted on the X-axis and center of force in the anterior to posterior direction plotted on the Y-axis. The safe zone can be, for example, a zone of upright posture. Inside this zone, a person is stable with regard to postural stability and a person moves around this zone at random. Every person can, for example, have a safe zone. The safe zone for every person can be, for example, unique from other safe zones as illustrated by safe zones 410, and 415 for other persons.

In some examples, the range of postural stability is a punctuated equilibrium. The punctuated equilibrium can be, for example, a safe zone with a constant turnover of transient equilibria. The transient equilibria form, persist, and dissipate following control failure (e.g., not in equilibrium, including falling down). Following a control failure, a new equilibria forms and control is restored. FIG. 4B illustrates an exemplary punctuated equilibrium 420. In punctuated equilibrium 420, a first transient equilibria 430 forms, persists, and dissipates through dynamic trajectory 435, momentarily leaving punctuated equilibrium 420, but returning to a second transient equilibria 440. Subsequently, the second transient equilibria 440 dissipates through dynamic trajectory 445, leading to a third transient equilibria 450. Third transient equilibria 450 persists and dissipates through dynamic trajectory 455 leading to escape from punctuated equilibrium 420. Furthermore, dynamic trajectories may lead to new equilibria (i.e., “escape” trajectories) and while other dynamic trajectories lead back to the old equilibrium (i.e., non-escape dynamic trajectories, or “return” trajectories). One way to determine the difference between the two types of dynamic trajectories is that if a dynamic trajectory starts and ends in roughly the same place, then it is a “return” trajectory, otherwise it is an “escape” trajectory.

It may be desirable to determine the probabilities of transition between postural states. The probabilities can be, for example, determined based on the stored sensor information and/or the range of postural stability. For example, the HMM calculation utilizes various states (e.g., current state, one or more past states) and the probabilities of the hidden states (e.g., current state, one or more past states) to determine the next postural state. FIG. 5 illustrates an example flowchart for determining the probability of the next postural state, according to one embodiment of the present invention. For example, if FIG. 5 is utilized in conjunction with Table 1 and Table 2, then the probability of the next postural state can be determined. S_(i), S_(i+1),S_(i+2), and S_(i+3) represent the states and O_(i), O_(i+1), O_(i+2), and O_(i+3) represent the possible observations.

TABLE 1 Emission Probability S_(i) Equilibrium Dynamic O_(i) Fast Velocity 0.2 0.7 Slow Velocity 0.8 0.3

TABLE 2 Transition Probability S_(i) Equilibrium Dynamic S_(i) Equilibrium 0.98 0.02 Equilibrium 0.32 0.68

In some examples, the observation O_(i) 510 is utilized with the past states (e.g., S¹⁻¹, S_(i−2), S_(i−3), etc. (not shown)) and the probabilities of the sequence of the past states to determine the probability of the current state S_(i) 505. The probabilities of the observation O_(i) 510 in the emission probability, Table 1, and the transition probability, Table 2, can be, for example, utilized together to determine the probability of the current state S_(i) 505 and/or the next state S_(i+1) 515. For example, if the past four states were in equilibrium, then the probability that the current state will stay in equilibrium, the probability that the current state will change to dynamic, and the probability of the state associated with the observation are all utilized to determine the current state and/or the next state. As another example, if the sequence of the past four states is equilibrium, dynamic, equilibrium, and equilibrium, then the probability of these transitions in relation to each other, the probability of the current state changing or staying the same (in this example, equilibrium), and the probability of the state associated with the observation are utilized to determine the current state and/or the next state. An advantage is that the context of the transitions and/or no transitions between the past states is utilized to determine the next state thereby providing the calculation with a history. In some examples, the dynamic state represents three possible outcomes. The three possible outcomes are return to present equilibrium, transition to new equilibrium, or falling down. In other examples, the observations include sitting, standing, kneeling, lying down, falling, and/or any other postural position of a person. In yet other examples, the observations (e.g., O_(i)) include any type of observation of postural state (e.g., falling, standing, running, walking, etc.). In some examples, velocity includes the center of mass velocity for the structure. The center of mass velocity can be, for example, measured by the input sensors (e.g., pressure sensors). The slow velocity and fast velocity can be, for example, relative such that what is slow for one person is fast for another, slow at one time is fast at another, etc.

As another example, the HMM calculation utilizes various states and the probabilities of the next hidden state to determine the next postural state. For example, if FIG. 5 is utilized in conjunction with Table 3 and Table 4, then the probability of the next postural state can be determined. In some examples, the computing device 140 analyzes the range of postural stability to determine the current postural state and/or the next postural state. If the received pressure information is within set parameters of the range (e.g., 25% to 75%, 10% to 90%), then the stability processing module will determine that the next postural state is equilibrium (e.g., equilibrium running, equilibrium walking, equilibrium standing, etc.). If the received pressure information is not within the set parameters of the range, then the stability processing module will determine that the next postural state is dynamic (e.g., dynamic falling, dynamic walking, dynamic standing, etc.). In other examples, the probabilities of two or more possible next postural states are the same and/or substantially similar, so the next postural state cannot be determined. In these examples, the computing device 140 processes the input information received from the input sensors, the range of postural stability, and/or the current postural state to determine the next postural state. In some examples, the computing device 140 processes the input information received from the input sensors, the range of postural stability, the current postural state, and/or the next postural state to determine if activity (e.g., alarm, email, notification, etc.) should be initiated based on the processing. In other examples, the processing applies one or more rules to determine if a condition occurs. For example, the person entered a dynamic state more than ten times in a thirty minute period. As another example, the person has been in a dynamic state for 75% of the time over the past twenty four hours. The rules can be, for example, predetermined (e.g., set of rules based on age, set of rules based on a medical condition, etc.), automatically generated (e.g., the person is usually in equilibrium 90% of the time in a two hour period so any percentage less than 90% in a two hour period sends an email to the person's caregiver, etc.), and/or entered by the user or a third party. The automatically generated rules can be, for example, based on individual characteristics (e.g., specific percentage of state over time, number of times in dynamic state per hour, etc.), general characteristics (e.g., age range, medical condition, etc.), and/or any other metric. The activity that is initiated can be, for example, setting off an alarm, notifying the person, notifying a third party (e.g., sending an email to the doctor, sending a text message to the caregiver, etc.), and/or any other type of notification and/or alarm.

TABLE 3 Emission Probability S_(i) Dynamic Equilibrium Standing Standing Walking Running O_(i) Fast Gait and 0.15 0.01 0.04 0.60 Fast Velocity Fast Gait and 0.20 0.03 0.30 0.06 Slow Velocity Slow Gait and 0.40 0.01 0.06 0.32 Fast Velocity Slow Gait and 0.05 0.05 0.60 0.02 Slow Velocity Slow Gait and 0.20 0.30 0.00 0.00 No Velocity No Gait and 0.00 0.60 0.00 0.00 No Velocity

TABLE 4 Transition Probability S_(i+1) Dynamic Equilibrium Standing Standing Walking Running S_(i) Dynamic 0.60 0.30 0.05 0.05 Standing Equilibrium 0.25 0.60 0.10 0.05 Standing Walking 0.20 0.05 0.60 0.15 Running 0.12 0.10 0.18 0.60

FIG. 6 illustrates an alternative embodiment for the present invention of a system 600 for utilizing pressure sensing devices 120 to determine a user's postural state and optionally display information regarding the user's postural state. In pressure monitoring system 600, pressure sensing devices 120 measure and transmit pressure information over an RF network link 130 to computing device 140. Computing device 140 is coupled via a network 605 to a server 620 and a user computer 610. The server 620 is optionally coupled with a database 615 either directly or via the network 605. Computing device 140 may determine postural state information including next, current, and/or past postural states and communicate the postural state information to the server 620 via the network 605. The server 620 may perform postural analysis using the postural state information to monitor, track, and/or notify the person regarding their postural states. The postural analysis may comprise for example, storing the postural state information for historical analysis by the person being monitored and/or a third party monitoring person (e.g. doctor, physical therapist). The server 620 may notify the person being monitored and/or a third party monitoring person by communicating messages with the computing device 140 or the user computer 610.

In some embodiments server 620 is a web server and the network 605 is the Internet. The web server 620 receives the pressure information from the computing device 140 via the Internet 605. A web server application program running on web server 620 may determine postural state information and perform postural analysis. The postural state information (e.g., previous postural state, current postural state, next postural state, etc.) or postural analysis information (e.g., diagnostic information, statistics, performance information, etc.) may be viewed on a device connected to the Internet (e.g. user computer 610, computing device 140, etc.) and including a web client application such as a web browser by the person utilizing pressure sensing devices 120 and/or a third party monitoring person.

The advantages of transferring more of the computing functionality from computing device 140 to server 620 include, for example, simplifying the computing requirements of computing device 140, centralizing the data management and processing, and allowing ease of updating of software components because only the server application program may need to be updated instead of software residing on a large number of separate computing devices. It will be appreciated that the computing functionality required for determining postural state information, performing postural analysis, and displaying postural state information may be accomplished by a number of computing devices communicating via a network or a single stand-alone computing device as the application requires.

FIG. 7 illustrates another alternative embodiment of the present invention of a system 700 for utilizing pressure sensing devices 120 to determine a user's postural state and optionally display information regarding the user's postural state. System 700 shows pressure sensing devices 120 communicating to a network 605 through a network access point 725. Pressure sensing devices 120 may communicate to network access point 625 utilizing an RF network link 130 such as Bluetooth, WiMax, any of the suite of IEEE 802.11 protocols, or any other standard or custom wireless link protocol. Network access point 725 communicates with network 605 through any suitable wired or wireless network connection. Thus, through the network 605 pressure sensing devices 120 can communicate to a user computer 610 or a server 620. Determining postural state information and performing postural analysis may be accomplished by either user computer 610 or server 620. The person being monitored and/or a third party monitoring person may be notified by communicating messages with the user computer 610.

FIG. 8 illustrates an alternative embodiment of the present invention of a system 800 for using a scale or mat device to determine a user 110's postural state and optionally display information regarding the user 110's postural state. Alternative to using a shoe to capture pressure data and ultimately calculate a user's stability, balance, posture, etc., a scale (or mat) 805 may be used. In one embodiment, scale 805 may be similar to a medical or diagnostic scale, such that the user 110 (i.e., the patient) stands, walks, jogs, etc. and pressure readings may be gathered using input sensors 220 a and 220 b. In an alternative embodiment, instead of a scale or a mat, a treadmill device may be used to determine the user's stability.

As the user interacts with the scale 805, the pressure data may be captured and transmitted to, for example, network access point 725 using communications modules 240 a and/or 240 b. Accordingly, such pressure data may then be transmitted over network 605 to user computer 610 or server 620. Alternatively, scale 805 may include a display 810 which may be configured to display postural balance information. Furthermore, the determining of postural state information and performing postural analysis may be accomplished by either user computer 610 or server 620. Hence, for example, a medical professional may use user computer 610 to monitor user 110's postural state(s) and analyze the information to form medical opinions regarding user 110's medical conditions, if any. Alternatively, scale 805 may be used for analyzing the athletic performance ability of user 110. For example, an elderly patient which may be prone to falls may use scale 805 to receive preventative screening in order to take corrective action prior to the elderly person experiencing a fall, or the like. One skilled in the art would be aware of medical, athletic, and other uses for such a stability sensing scale, mat, treadmill, etc. In an alternative embodiment, scale 805 may further include a stability processing module 815 which may be used to determine user 110's postural stability similar to personal computer 610 and server 620.

FIG. 9 illustrates a further embodiment of a pressure sensing device situated in shoe 900 with shoe upper 930, shoe sole 920, shoe insole 910, input sensors 220, and communications module 240. Shoe 900 may be one of any type of shoes including, without limitation, dress shoes, athletic shoes, work boots, hiking boots, etc. Input sensors 220 may be placed in insole 910 of shoe 900 or if located in the sole 920 of shoe 900 may be located towards the top of the sole 920 such that the pressure on the sole is not dispersed appreciably before impinging on the input sensors 220. Communications module 240 may be located in the shoe upper 930, the shoe sole 920, the shoe insole 910, and/or another location in shoe 900. As in other embodiments, transmission of information between input sensors 220 and communications module 240 may be by wires embedded in the insole 910, shoe sole 920, and/or shoe upper 930. It will be appreciated by one skilled in the art that communications module 240 may be split into a number of components, the components being located in any portion of the shoe 900 and connected by wires or other connecting technology to achieve the functionality of communications module 240 described above. The communications module 240 transmits the sensor information to a device external to the shoe using a communications link. For example, the communications link may be a wireless link such as a Bluetooth network and other body area network.

FIG. 10 illustrates an alternative embodiment of a pressure sensing device situated in a horseshoe 1005. In one embodiment, horseshoe 1005, similar to shoe 900 (FIG. 9), may include input sensors 220 a and 220 b, as well as communications module 240. Accordingly, horseshoe 1005 may be placed on a horse (or other hoofed animal) in order to gather pressure/stability data for the animal wearing horseshoe 1005. Accordingly, such gathered information may be transmitted to an external computing device (e.g., a computer, a PDA, a server, etc.) via communications module 240.

For example, a racehorse may be fitted with horseshoe 1005 to identify a sprain, determine flaws in their running style, anticipate a fatal fall, determine the quality of the horse, etc. A skilled equestrian could analyze the stability determinations received from horseshoe 1005 to make such determinations. It should be noted that any number of horseshoes may be placed on a horse (i.e., a number between 1 and 4) in order to make accurate stability determinations. Alternatively, horseshoe 1005 may be used to determine if an animal has experienced a sprang or a break.

FIG. 11 illustrates yet another embodiment of the present invention of a stability measurement device 1100 with insoles 210 a and 210 b (generally 210), input sensors 220 a and 220 b (generally 220), communications modules 240 a and 240 b (generally 240), and stability processing module 1150. In this embodiment, communications modules 240 communicate with one another over a communications link 130 and stability processing module 1150 is electrically coupled with one or more communications modules 240. Stability processing module 1150 may be coupled through wires to one or more communications modules 240 or wirelessly to one or more communications modules 240. Stability processing module 1150 performs postural state analysis as described above and may communicate postural state information to the user through tactile feedback devices (not shown), communication with an external device to display postural state information, and/or downloading of stored postural state information from stability measuring device 1100 to a computing device for further analysis or display. It will be appreciated that the functionality of communications modules 240 and stability processing module 1150 may be split into a number of components, the components being located in any portion of the insoles 210 and connected by wires or other connecting technology to achieve the functionality of communications modules 240 and stability processing module 1150 described above. Additionally it will be appreciated that some or all of the components of communications modules 240 and stability processing module 1150 may be outside of insoles 210, for example, in other portions of an article of footwear.

Furthermore, stability measuring device 1100 may be used in a virtual reality (VR) and/or gaming environment. For example, as a player wearing shoes with insoles 210 a and 210 b plays a video game or maneuvers in a VR environment, pressure data may be gathered and stability determinations may be made for the player. As such, if the player falls down, the game/VR environment would make the video game avatar fall as well. Alternatively, if the player sits down, runs, jumps, etc., the game avatar would similarly perform such movements. Thus, by determining the player's postural state using stability measuring device 1100, the same or similar movements can be captured and placed in the gaming environment making the game completely interactive

FIG. 12 shows a flow diagram of illustrative methods for monitoring postural stability of a person. The method begins at step 1210 where pressure sensors are provided in the insole portion of an article of footwear to measure pressure impinged by the person on a supported surface. The pressure sensors are read at step 1215 and the pressure information is transmitted at step 1220. The pressure information is received at step 1225 and postural state information is calculated at step 1230 using the pressure information. The postural state information is analyzed at step 1235. If the postural state information indicates a predetermined condition then the person and/or a healthcare professional is notified at step 1240. If the postural information does not indicate the predetermined condition then the method returns to step 1225 to receive more pressure information. The predetermined condition may be a stable postural state, an unstable postural state, and/or a partially stable postural state.

FIG. 13 shows a flow diagram of illustrative methods for determining postural stability. The method begins at step 1305 where a first pressure information is received. The first pressure information is stored at step 1310. A range of postural stability is calculated at step 1320 from the first pressure information. A second pressure information is received at step 1315. The current postural state is calculated from the second pressure information at step 1325. The next postural state is calculated from the current postural state and the range of postural stability at step 1330. The next postural state is analyzed at step 1335. If the next postural state matches a predetermined condition, then the person and/or a healthcare professional may be notified at step 1340. If the next postural state does not match the predetermined condition, then the method returns to step 1315 to receive additional pressure information.

It will be appreciated that either the computing device 140 and/or user computer 610 of various embodiments can be a general purpose computer (including, merely by way of example, personal computers, smartphones, workstation computers, and/or laptop computers running various standard or mobile versions of Microsoft® Corp.'s Windows®, Apple Corp.'s Macintosh®, UNIX based operating systems, GNU/Linux based operating systems, or other commercially available operating systems). The computing device 140 and/or user computer(s) 610 may also have any of a variety of applications, including one or more development systems, database client and/or server applications, and web browser applications. Alternatively, the computing device 140 and/or user computer 610 may be any other electronic devices, such as thin-client computers, Internet-enabled mobile telephone, and/or personal digital assistant, capable of communicating via a network (e.g., the network 605 described below) and/or displaying and navigating web pages or other types of electronic documents. Although various embodiments are shown with one computing device 140 and/or one user computer 610, any number of computing devices and/or user computers may be supported.

FIG. 14 illustrates an exemplary computer system 1400, in which various embodiments of the present invention may be implemented. The system 1400 may be used to implement any of the computers or computing devices described above (e.g. user computer 610, computing device 140, server 620). The computer system 1400 is shown comprising hardware elements that may be electrically coupled via a bus 1405. The hardware elements may include one or more central processing units (CPUs) 1410, one or more input devices 1420 (e.g., a mouse, a keyboard, etc.), and one or more output devices 1425 (e.g., a display device, a printer, etc.). The computer system 1400 may also include one or more storage device 1415. Storage device(s) 1415, can comprise, without limitation, local and/or network accessible storage, removable and/or integrated storage, and/or can include, without limitation, a disk drive, a drive array, an optical storage device, a solid-state storage device, such as a RAM and/or a read-only memory ROM, which can be programmable, flash-updateable and/or the like. Communications subsystem 1430, can include, without limitation, a modem, a network card (wireless or wired), an infra-red communication device, a wireless communication device and/or chipset (such as a Bluetooth™ device, an 802.11 device, a WiFi device, a WiMax device, cellular communication facilities, etc.), and/or the like. The communications subsystem 1430 may permit data to be exchanged with a network (such as the network described below, to name one example), and/or any other devices described herein. In many embodiments, the computer system 1400 will further comprise a working memory 1435, which can include a RAM or ROM device, as described above. In some embodiments, the computer system 1400 may also include a processing acceleration unit (not shown), which can include a DSP, Application Specific Integrated Circuits, a special-purpose processor and/or the like.

The computer system 1400 may also comprise software elements, shown as being currently located within a working memory 1435, including an operating system 1440 and/or other code 1445, such as an application program (which may be a client application, web browser, mid-tier application, RDBMS, etc.). It should be appreciated that alternate embodiments of a computer system 1400 may have numerous variations from that described above. For example, customized hardware might also be used and/or particular elements might be implemented in hardware, software (including portable software, such as applets), or both. Further, connection to other computing devices such as network input/output devices may be employed. Software of computer system 1400 may include code 1445 for implementing embodiments of the present invention as described herein.

In one aspect, the invention employs a computer or computing device (such as the computer system 1400) to perform methods of the invention. According to a set of embodiments, some or all of the procedures of such methods are performed by the computer system 1400 in response to processor 1410 executing one or more sequences of one or more instructions (which might be incorporated into the operating system 1440 and/or other code, such as an application program 1445) contained in the working memory 1435. Such instructions may be read into the working memory 1435 from another machine-readable medium, such as one or more of the storage device(s) 1415. Merely by way of example, execution of the sequences of instructions contained in the working memory 1435 might cause the processor(s) 1410 to perform one or more procedures of the methods described herein.

The terms “machine-readable medium” and “computer readable medium”, as used herein, refer to any medium that participates in providing data that causes a machine to operate in a specific fashion. In an embodiment implemented using the computer system 1400, various machine-readable media might be involved in providing instructions/code to processor(s) 1410 for execution and/or might be used to store and/or carry such instructions/code (e.g., as signals). In many implementations, a computer readable medium is a physical and/or tangible storage medium. Such a medium may take many forms, including but not limited to, non-volatile media, volatile media, and transmission media. Non-volatile media includes, for example, optical or magnetic disks, such as the storage device(s) 1415. Volatile media includes, without limitation, static or dynamic memory, such as the working memory 1435. Transmission media includes coaxial cables, copper wire and fiber optics, including the wires that comprise the bus 1405, as well as the various components of the communication subsystem 1430 (and/or the media by which the communications subsystem 1430 provides communication with other devices). Hence, transmission media can also take the form of waves (including without limitation radio, acoustic and/or light waves, such as those generated during radio-wave and infra-red data communications).

Common forms of physical and/or tangible computer readable media include, for example, a floppy disk, a flexible disk, hard disk, magnetic tape, or any other magnetic medium, a CD-ROM, any other optical medium, punchcards, papertape, any other physical medium with patterns of holes, a RAM, a PROM, an EPROM, a FLASH-EPROM, any other memory chip or cartridge, a carrier wave as described hereinafter, or any other medium from which a computer can read instructions and/or code.

Various forms of machine-readable media may be involved in carrying one or more sequences of one or more instructions to the processor(s) 1410 for execution. Merely by way of example, the instructions may initially be carried on a magnetic disk and/or optical disc of a remote computer. A remote computer might load the instructions into its dynamic memory and send the instructions as signals over a transmission medium to be received and/or executed by the computer system 1400. These signals, which might be in the form of electromagnetic signals, acoustic signals, optical signals and/or the like, are all examples of carrier waves on which instructions can be encoded, in accordance with various embodiments of the invention.

The communications subsystem 1430 (and/or components thereof) generally will receive the signals, and the bus 1405 then might carry the signals (and/or the data, instructions, etc., carried by the signals) to the working memory 1435, from which the processor(s) 1410 retrieves and executes the instructions. The instructions received by the working memory 1435 may optionally be stored on a storage device 1415 either before or after execution by the processor(s) 1410.

In one aspect, the invention employs a network 605 to perform methods of the invention. It will be appreciated that network 605 can be any type of network familiar to those skilled in the art that can support data communications using any of a variety of commercially-available protocols, including without limitation TCP/IP, SNA, IPX, AppleTalk, and the like. Merely by way of example, the network 605 maybe a local area network (“LAN”), such as an Ethernet network, a Token-Ring network and/or the like; a wide-area network; a virtual network, including without limitation, a virtual private network (“VPN”); the Internet; an intranet; an extranet; a public switched telephone network (“PSTN”); an infra-red network; a wireless network (e.g., a network operating under any of the IEEE 802.11 suite of protocols, the Bluetooth protocol known in the art, and/or any other wireless protocol); and/or any combination of these and/or other networks such as GSM, GPRS, EDGE, UMTS, 3G, 2.5 G, CDMA, CDMA2000, WCDMA, EVDO, etc.

In some embodiments, the invention employs a server computer 620 to perform methods of the invention. The server computer 620 might include one or more application servers, which can include one or more applications accessible by a client application running on the user computer 610, the computing device 140 and/or other user computers or servers. Merely by way of example, the server 620 can be one or more general purpose computers capable of executing programs or scripts in response to applications running on the user computer 610, the computing device 140 and/or other servers, including without limitation web applications (which might, in some cases, be configured to perform methods of the invention). Merely by way of example, a web application can be implemented as one or more scripts or programs written in any suitable programming language, such as Java™, C, C#™ or C++, and/or any scripting language, such as Perl, Python, or TCL, as well as combinations of any programming/scripting languages. The application server 620 can also include database servers, including without limitation those commercially available from Oracle™, Microsoft™, Sybase™, IBM™ and the like, which can process requests from clients (including, depending on the configuration, database clients, API clients, web browsers, etc.) running on a user computer 610 and/or another server.

In some embodiments, the application server 620 can create web pages dynamically for displaying the information in accordance with embodiments of the invention. Data provided by the application server 620 may be formatted as web pages (comprising HTML, Javascript, etc., for example) and/or may be forwarded to computing device 140 or user computer 610 via a web server (as described above, for example). Similarly, a web server might receive web page requests and/or input data from computing device 140 or user computer 610 and/or forward the web page requests and/or input data to an application server. In some cases, a web server may be integrated with the application server 620. In some embodiments, the application server 620 may create web pages dynamically for displaying on an end-user (client) system. The web pages created by the web application server may be forwarded to computing device 140 or user computer 610 via a web server. Similarly, the web server can receive web page requests and/or input data from computing device 140 or user computer 610, and can forward the web page requests and/or input data to an application and/or a database server. Those skilled in the art will recognize that the functions described with respect to various types of servers may be performed by a single server and/or a plurality of specialized servers, depending on implementation-specific needs and parameters.

As present in some embodiments, the system may also include one or more databases 615. The database(s) 615 may reside in a variety of locations. By way of example, a database 615 may reside on a storage medium local to (and/or resident in) one or more of the servers 620 or computers 610. Alternatively, it may be remote from any or all of the servers 620 or computers 610, and/or in communication (e.g., via the network 605) with one or more of these. In a particular set of embodiments, the database 615 may reside in a storage-area network (“SAN”) familiar to those skilled in the art. Similarly, any necessary files for performing the functions attributed to the servers 620 or user computers 610 may be stored locally on the respective computer and/or remotely, as appropriate. In one set of embodiments, the database 615 may be a relational database, such as Oracle® 10g, which is adapted to store, update, and retrieve data in response to SQL-formatted commands.

In accordance with some embodiments, one or more servers 620 can function as a file server and/or can include one or more of the files (e.g., application code, data files, etc.) necessary to implement methods of the invention incorporated by an application running on computing device 140, user computer 610 and/or server(s) 620. Alternatively, as those skilled in the art will appreciate, a file server can include all necessary files, allowing such an application to be invoked remotely by computing device 140, user computer(s) 610 and/or server(s) 620. It should be noted that the functions described with respect to various servers herein (e.g., application server, database server, web server, file server, etc.) can be performed by a single server and/or a plurality of specialized servers, depending on implementation-specific needs and parameters.

The term “machine-readable medium” includes, but is not limited to portable or fixed storage devices, optical storage devices, wireless channels and various other mediums capable of storing, containing or carrying instruction(s) and/or data. A code segment or machine-executable instructions may represent a procedure, a function, a subprogram, a program, a routine, a subroutine, a module, a software package, a class, or any combination of instructions, data structures, or program statements. A code segment may be coupled to another code segment or a hardware circuit by passing and/or receiving information, data, arguments, parameters, or memory contents. Information, arguments, parameters, data, etc. may be passed, forwarded, or transmitted via any suitable means including memory sharing, message passing, token passing, network transmission, etc.

Furthermore, embodiments may be implemented by hardware, software, firmware, middleware, microcode, hardware description languages, or any combination thereof. When implemented in software, firmware, middleware or microcode, the program code or code segments to perform the necessary tasks may be stored in a machine-readable medium. A processor(s) may perform the necessary tasks.

While the invention has been described with respect to exemplary embodiments, one skilled in the art will recognize that numerous modifications are possible. For example, the methods and processes described herein may be implemented using hardware components, software components, and/or any combination thereof. Further, while various methods and processes described herein may be described with respect to particular structural and/or functional components for ease of description, methods of the invention are not limited to any particular structural and/or functional architecture but instead can be implemented on any suitable hardware, firmware and/or software configuration. Similarly, while various functionality is ascribed to certain system components, unless the context dictates otherwise, this functionality can be distributed among various other system components in accordance with different embodiments of the invention.

Moreover, while the procedures comprised in the methods and processes described herein are described in a particular order for ease of description, unless the context dictates otherwise, various procedures may be reordered, added, and/or omitted in accordance with various embodiments of the invention. Moreover, the procedures described with respect to one method or process may be incorporated within other described methods or processes; likewise, system components described according to a particular structural architecture and/or with respect to one system may be organized in alternative structural architectures and/or incorporated within other described systems. Hence, while various embodiments are described with—or without—certain features for ease of description and to illustrate exemplary features, the various components and/or features described herein with respect to a particular embodiment can be substituted, added and/or subtracted from among other described embodiments, unless the context dictates otherwise. Consequently, although the invention has been described with respect to exemplary embodiments, it will be appreciated that the invention is intended to cover all modifications and equivalents within the scope of the following claims.

In the foregoing description, for the purposes of illustration, methods were described in a particular order. It should be appreciated that, in alternate embodiments, the methods may be performed in a different order than that described. It should also be appreciated that the methods described above may be performed by hardware components or may be embodied in sequences of machine-executable instructions, which may be used to cause a machine, such as a general-purpose or special-purpose processor or logic circuits, programmed with the instructions to perform the methods. These machine-executable instructions may be stored on one or more machine-readable mediums, such as CD-ROMs or other type of optical disks, floppy diskettes, ROMs, RAMs, EPROMs, EEPROMs, magnetic or optical cards, flash memory, or other types of machine-readable mediums suitable for storing electronic instructions. Alternatively, the methods may be performed by a combination of hardware and software.

While illustrative embodiments of the invention have been described in detail herein, it is to be understood that the inventive concepts may be otherwise variously embodied and employed, and that the appended claims are intended to be construed to include such variations, except as limited by the prior art. 

1. A system for determining postural stability comprising: a shoe insole; one or more input sensors housed in the shoe insole, wherein the one or more input sensors are configured to produce pressure information proportional to mechanical pressure placed on the one or more input sensors; a communications module housed within the shoe insole and coupled with the one or more input sensors, the communications module including a first communications transceiver and configured to receive the pressure information from the one or more input sensors and transmit the pressure information using the first communications transceiver; a communications medium coupled with the first communications transceiver, the communications medium configured to transmit and receive communications signals; and a computing device including a second communications transceiver coupled with the communications medium, wherein the computing device is configured to receive the pressure information from the communications module using the second communications transceiver and determine postural stability from the pressure information.
 2. The system of claim 1, wherein: the communications module further comprises a buffer memory; and the communications module is further configured to buffer the pressure information using the buffer memory for a predetermined amount of time before transmitting the pressure information using the first communications transceiver.
 3. The system of claim 1, wherein the one or more input sensors are piezoelectric force sensors.
 4. The system of claim 1, wherein the communications medium comprises a wireless communications medium.
 5. The system of claim 4, wherein the wireless communications medium comprises a Bluetooth communications link.
 6. The system of claim 1, wherein the computing device determines postural stability using at least one of the following: a Hidden Markov Model, a forward algorithm, a Viterbi algorithm, a forwards-backwards algorithm, and a Baum-Welch algorithm.
 7. The system of claim 1, wherein the shoe insole is one of a medical scale or a mat.
 8. A system for determining postural stability comprising: an article of footwear including an insole portion; one or more input sensors housed in the insole portion of the article of footwear, wherein the one or more input sensors are configured to produce pressure information proportional to mechanical pressure placed on the one or more input sensors; a communications module including a first communications transceiver, wherein the communications module is housed in the article of footwear, coupled with the one or more input sensors, and configured to receive the pressure information from the one or more input sensors and transmit the pressure information using the first communications transceiver; and a computing device including a second communications transceiver, wherein the computing device is configured to receive the pressure information from the communications module using the second communications transceiver and the computing device contains instructions on a computer-readable medium to determine postural stability from the pressure information.
 9. The article of footwear of claim 8 wherein the communications module further includes a buffer memory; and the communications module is further configured to buffer the pressure information in the buffer memory for a predetermined amount of time before transmitting the pressure information using the first communications transceiver.
 10. The article of footwear of claim 8, wherein the article of footwear is a horseshoe.
 11. A method for determining postural stability of a person, comprising: providing an article of footwear worn by the person with an insole portion; providing one or more pressure sensing transducers in the insole portion of the article of footwear; reading the one or more pressure sensing transducers; generating pressure information proportional to the mechanical pressure placed on the one or more pressure sensing transducers; transmitting the pressure information; receiving the transmitted pressure information; and calculating postural state information for the person based on the received pressure data information.
 12. The method of claim 11, further comprising: notifying the person if the postural state information indicates a predetermined condition, wherein the predetermined condition includes one of the following: a stable postural state, an unstable postural state, and a partially stable postural state.
 13. The method of claim 11, further comprising: notifying a third party monitoring person if the postural state information indicates a predetermined condition, wherein the predetermined condition includes one of the following: a stable postural state, an unstable postural state, and a partially stable postural state.
 14. The method of claim 13, wherein the third party monitoring person is one of a doctor, a physician assistant, a nurse, a physical therapist, a personal trainer, or a recreation therapist.
 15. A method for determining postural stability in a person, the method comprising: receiving a first pressure information from one or more pressure sensors, the first pressure information proportional to the mechanical pressure placed on the one or more pressure sensors; storing the first pressure information; calculating a range of postural stability for the person from the first pressure information; receiving a second pressure information from the one or more pressure sensors, the pressure information proportional to the mechanical pressure placed on the one or more pressure sensors; calculating a current postural state for the person based on the second pressure information; and calculating a next postural state for the person based on the current postural state and the range of postural stability.
 16. The method of claim 15, wherein calculating the next postural state is further based on a predetermined probability of transitioning between postural states.
 17. The method of claim 15, further comprising: notifying the person if the next postural state matches a predetermined condition, the predetermined condition one of a stable postural state, an unstable postural state, or a partially stable postural state.
 18. The method of claim 15, further comprising: notifying a third party monitoring person if the next postural state matches a predetermined condition, the predetermined condition one of a stable postural state, an unstable postural state, or a partially stable postural state.
 19. A system for determining postural stability of a person, the system comprising: an article of footwear, said article of footwear including: an insole portion, one or more input sensors for measuring pressure housed in the insole portion, wherein the one or more input sensors are configured to produce pressure information proportional to mechanical pressure placed on the one or more input sensors, and a communications module including a first wireless communications transceiver, wherein the communications module is housed in the article of footwear, coupled with the one or more input sensors, and configured to receive the pressure information from the one or more input sensors and transmit the pressure information using the first wireless communications transceiver; a communications medium coupled with the first wireless communications transceiver; a second wireless communications transceiver coupled with the communications medium and configured to receive the pressure information from the communications module; a stability processing device electrically coupled with the second wireless communications transceiver and configured to acquire the pressure information from the second wireless communications transceiver and determine postural stability information from the pressure information; and a display device electrically coupled with the stability processing module, configured to display the postural stability information.
 20. The system of claim 19, wherein the second wireless communications transceiver, the stability processing device, and the display device are each comprised in a computing device.
 21. The system of claim 19, wherein the stability processing device comprises a server computer.
 22. The system of claim 19, wherein the second communications transceiver communicates with the stability processing device via a computer network.
 23. The system of claim 19, wherein the stability processing device communicates with the display device via a computer network.
 24. The system of claim 19, wherein the second communications transceiver and the display device are each comprised in a computing device, the computing device coupled with the stability processing device via a computer network.
 25. The system of claim 19, wherein: the stability processing device is further configured to determine postural analysis information, the postural analysis information comprising one or more of the following: activity information, performance information, fatigue information, diagnostic information, a statistic, a score, and a simulation; and the display device is further configured to display the postural analysis information.
 26. A scale for determining postural stability of a person, the scale comprising: a body portion; one or more input sensors for measuring pressure housed in the body portion, wherein the one or more input sensors are configured to produce pressure information proportional to mechanical pressure placed on the one or more input sensors; a stability processing module housed in the body portion, the stability processing module configured to analyze the pressure information and determine based on the pressure information a person's postural stability; and a communications module including a first wireless communications transceiver, wherein the communications module is housed in the scale, coupled with the stability processing module, and configured to receive the determined postural stability and transmit the determined postural stability using the first wireless communications transceiver.
 27. The scale of claim 26, further comprising a display device coupled with the body potion, the display device configured to display the determined postural stability to the person. 